﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

namespace Tests.Yonetim
{
    public partial class funcs : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        [WebMethod]
        public static List<Object> sinavtiplerigetir()
        {
            using (dcTestsDataContext dc = new dcTestsDataContext())
            {
                var sinavtipleri = from t in dc.SinavTipleris
                                   select new { val = t.ID,text =  t.SinavTipiAdi };
                return sinavtipleri.ToList<object>();
            }
        }

        [WebMethod]
        public static List<Object> testtiplerigetir()
        {
            using (dcTestsDataContext dc = new dcTestsDataContext())
            {
                var testtipleri = from t in dc.TestTipis
                              select new { val = t.ID,text = t.TestTipi1};
                return testtipleri.ToList<object>();


            }
        }
        [WebMethod]
        public static Object testgetir(int id)
        {
            using (dcTestsDataContext dc = new dcTestsDataContext())
            {
                var testler = from t in dc.TestTanimlaris
                              where t.ID == id
                              select new { t.ID, t.SinavTipi, t.TestAciklamasi, t.TestSatista, t.TestTipi, t.Ucretsiz };
                return testler.First<object>();


            }
        }
        [WebMethod]
        public static List<Object> testlerigetir()
        {
           using (dcTestsDataContext dc = new dcTestsDataContext())
           {
               var testler = from t in dc.TestTanimlaris
                             select new {t.ID,t.SinavTipi,t.TestAciklamasi,t.TestSatista,t.TestTipi,t.Ucretsiz,t.ToplamSoruSayisi,sinavtipiadi = t.SinavTipleri.SinavTipiAdi,testtipiadi = t.TestTipi1.TestTipi1};
               return testler.ToList<object>();

            
           }
        }
        [WebMethod]
        public static void testEkle(dynamic parametreler)
        {
            try
            {
                using (dcTestsDataContext dc = new dcTestsDataContext())
                {
                    TestTanimlari tt = new TestTanimlari();
                    tt.OlusturmaTarihi = DateTime.Now;
                    tt.SinavTipi = int.Parse(parametreler["SinavTipi"]);
                    tt.TestAciklamasi = parametreler["TestAciklamasi"];                    
                    tt.TestTipi = int.Parse(parametreler["TestTipi"]);
                    tt.ToplamSoruSayisi = 0;
                    tt.Ucretsiz = parametreler["Ucretsiz"];
                    dc.TestTanimlaris.InsertOnSubmit(tt);
                    dc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        [WebMethod]
        public static void testDegistir(dynamic parametreler)
        {
            try
            {
                using (dcTestsDataContext dc = new dcTestsDataContext())
                {
                    int ID = parametreler["id"];
                    var tanim = from t in dc.TestTanimlaris
                                       where t.ID == ID
                                       select t;
                    TestTanimlari tt = tanim.First();
                    tt.DegistirmeTarihi = DateTime.Now;
                    tt.SinavTipi = int.Parse(parametreler["SinavTipi"]);
                    tt.TestAciklamasi = parametreler["TestAciklamasi"];                
                    tt.TestTipi = int.Parse(parametreler["TestTipi"]);
                    tt.ToplamSoruSayisi = 0;
                    tt.Ucretsiz = parametreler["Ucretsiz"];
                    dc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        [WebMethod]
        public static void soruEkle(dynamic parametreler)
        {
            try
            {
                using (dcTestsDataContext dc = new dcTestsDataContext())
                {
                    String cevap = parametreler["Cevap"];
                    Char cvp = cevap.ToCharArray()[0];
                    Sorular s = new Sorular();
                    s.A = parametreler["A"];
                    s.B = parametreler["B"];
                    s.C = parametreler["C"];
                    s.D = parametreler["D"];
                    s.E = parametreler["E"];
                    s.Cevap =  cvp;                    
                    s.Soru = parametreler["Soru"];
                    s.TestID = parametreler["TestID"];
                    dc.Sorulars.InsertOnSubmit(s);
                    dc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        [WebMethod]
        public static void soruDegistir(dynamic parametreler)
        {
            try
            {
                using (dcTestsDataContext dc = new dcTestsDataContext())
                {
                    int soruID = int.Parse(parametreler["ID"]);
                    var soru = from so in dc.Sorulars
                               where so.ID == soruID
                               select so;
                    Sorular s = soru.First();
                    s.A = parametreler["A"];
                    s.B = parametreler["B"];
                    s.C = parametreler["C"];
                    s.D = parametreler["D"];
                    s.E = parametreler["E"];
                    s.Cevap = parametreler["Cevap"];
                    s.Soru = parametreler["Soru"];
                    s.TestID = parametreler["TestID"];
                    s.SoruSirasi = parametreler["SoruSirasi"];
                    dc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        [WebMethod]
        public static Object sorugetir(int id)
        {
            using (dcTestsDataContext dc = new dcTestsDataContext())
            {
                var soru = from s in dc.Sorulars
                           where s.ID == id
                           select new {s.ID,s.Soru,s.Cevap,s.A,s.B,s.C,s.D,s.E,s.TestID,s.SoruSirasi};

                return soru.First<object>();
            }
        }
        [WebMethod]
        public static List<Object> sorularigetir(int id)
        {
            using (dcTestsDataContext dc = new dcTestsDataContext())
            {
                var sorular = from s in dc.Sorulars
                              where s.TestID == id
                              select new { s.ID, s.Soru, s.Cevap, s.A, s.B, s.C, s.D, s.E, s.TestID, s.SoruSirasi };
                if (sorular.Count() > 0)
                {
                    return sorular.ToList<object>();
                }
                else
                {
                    return null;
                }


            }
        }
    }
}
